package com.zelin.search.listener;

import com.alibaba.fastjson.JSON;
import com.zelin.entity.ItemEntity;
import com.zelin.search.service.ItemSearchService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * ------------------------------
 * 功能：定义监听sku商品列表
 * 作者：WF
 * 微信：hbxfwf13590332912
 * 创建时间：2021/8/9-14:41
 * ------------------------------
 */
@Component
public class MyMessageListener {
    @Autowired
    private ItemSearchService itemSearchService;

    /**
     * 功能: 增量添加sku商品到索引库
     * 参数:
     * 返回值: void
     * 时间: 2021/8/9 15:43
     */
    @JmsListener(destination = "updateStatus")
    public void getSkuList(String skuList){
        //1. 得到sku列表，并转换为集合
        List<ItemEntity> entities = JSON.parseArray(skuList, ItemEntity.class);
        //2. 将sku商品列表添加到索引库中
        itemSearchService.updateToIndex(entities);
        //3. 打印提示信息
        System.out.println("更新到索引库成功！");
    }

    /**
     * 功能: 从索引库中根据商品id删除数据
     * 参数:
     * 返回值:
     * 时间: 2021/8/9 15:44
     */
    @JmsListener(destination = "deleteSku")
    public void deleteSku(List<Long> ids){
        itemSearchService.deleteSku(ids);
    }
}
